home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / graphic / jpegsrc4.zip / CHANGE.LOG < prev    next >
Text File  |  1992-12-10  |  5KB  |  123 lines

  1. CHANGELOG for Independent JPEG Group's JPEG software
  2.  
  3. Version 4  10-Dec-92
  4. --------------------
  5.  
  6. Revised user interface: switches now use names instead of single letters.
  7. (Old switch letters are acceptable abbreviations of new switch names, EXCEPT
  8. for djpeg's old -g, -D, -1 switches.)  cjpeg has several new switches.
  9.  
  10. Provision for smoothing the input image added to cjpeg.  This helps a lot with
  11. converting dithered GIFs to JPEG.
  12.  
  13. Decoder upsampling now uses interpolation instead of pixel replication; this
  14. improves rendering of sharp colored edges.
  15.  
  16. The decompressor will now try to continue after detecting an error in the
  17. compressed data, instead of just aborting.  If the input file has restart
  18. markers, full synchronization will usually be regained at the next undamaged
  19. restart marker.  (But you're still out of luck if any of the header markers
  20. are corrupt.)
  21.  
  22. Substantial improvements in speed; DCT accuracy improved too.
  23.  
  24. Numerous minor changes to improve portability.  egetopt.c, which was by far
  25. the worst portability problem, is gone altogether.
  26.  
  27. A few bugfixes, sigh (mostly affecting DOS implementations only).
  28. Bugfix: on DOS machines, cjpeg -o would fail on grayscale input files.
  29. Bugfix: one-pass quantization to more than 64 color levels would fail on
  30. 16-bit-int machines.  This could only happen with quantized grayscale output.
  31.  
  32. A couple of changes affect code that calls the JPEG subroutine library:
  33.  
  34. 1. The parameter struct tag names are now capitalized (Compress_info_struct,
  35. Compress_methods_struct, Decompress_info_struct, Decompress_methods_struct,
  36. and External_methods_struct).  This makes it easier to live with brain-damaged
  37. compilers with short identifier lengths.  (All identifiers used in the JPEG
  38. code are now unique within the first 16 characters.)
  39.  
  40. 2. If you are not calling jselerror(), you need to initialize three new fields
  41. in the emethods structure, typically as follows:
  42.     e_methods.num_warnings = 0; /* no warnings emitted yet */
  43.     e_methods.first_warning_level = 0; /* display first corrupt-data warning */
  44.     e_methods.more_warning_level = 3; /* but suppress additional ones */
  45. These fields control handling of corrupt-data warnings.
  46.  
  47.  
  48. Version 3  17-Mar-92
  49. --------------------
  50.  
  51. Memory manager is finally capable of swapping to temp files.  There are
  52. separate versions of jmemsys.c for no temp files (same behavior as older
  53. versions), simple temp files with or without tmpfile(), and a DOS-specific
  54. version (including special code for EMS and XMS).  This is probably much more
  55. system-dependent than any of the older code; some bugs may surface here.
  56.  
  57. Hooks added for user interface to install progress monitoring routine
  58. (percent-done bar, etc).  See comments with dummy progress_monitor
  59. routines in jcdeflts.c, jddeflts.c.
  60.  
  61. Two-pass color quantization (finally!).  This is now the default method when
  62. quantizing; say '-1' to djpeg for quick-and-ugly 1-pass method.  There is
  63. a test file for checking 2-pass quantization and GIF output.
  64.  
  65. Fixed bug in jcopy_block_row that broke cjpeg -o option and djpeg -b option
  66. on MSDOS machines.
  67.  
  68. Miscellaneous small speedups; notably, DCT computation rearranged so that
  69. GCC "inline" feature is no longer needed for good code quality.
  70.  
  71. File config.c renamed ckconfig.c to avoid name conflict with /etc/config
  72. on Unix systems.
  73.  
  74. Added example.c to document usage of JPEG subroutines better.
  75.  
  76. Memory manager now knows how to release all storage during error exit ---
  77. avoids memory leak when using JPEG as subroutines.  This implies a couple
  78. small changes to the subroutine interface: the old free_defaults subroutines
  79. are no longer needed, but if you have a replacement error_exit method then it
  80. must call the new free_all method.  Also, jselvirtmem renamed to jselmemmgr.
  81.  
  82. Code for reading Targa files with 32-bit pixels was incorrect.
  83.  
  84. Colorspace conversion slightly faster and more accurate; because of
  85. this, old "test" files will no longer match bit-for-bit.
  86.  
  87.  
  88. Version 2  13-Dec-91
  89. --------------------
  90.  
  91. Documentation improved a little --- there are man pages now.
  92. Installation instructions moved from README to a separate file SETUP.
  93.  
  94. New program config.c is provided to help you get the configuration options
  95. right.  This should make installation a lot more foolproof.
  96.  
  97. Sense of djpeg -D switch reversed: dithering is now ON by default.
  98.  
  99. RLE image file support added (thanks to Mike Lijewski).
  100.  
  101. Targa image file support added (thanks to Lee Crocker).
  102.  
  103. PPM input now accepts all PPM and PGM files.
  104.  
  105. Bug fix: on machines where 'int' is 16 bits, high-Q-setting JPEG files
  106. were not decoded correctly.
  107.  
  108. Numerous changes to improve portability.  There should be few or no compiler
  109. warnings now.
  110.  
  111. Makefiles cleaned up; defaults now appropriate for production use rather than
  112. debugging.
  113.  
  114. Subroutine interface cleaned up.  If you wrote code based on version 1's
  115. jcmain/jdmain, you'll need to change it, but it should get a little shorter
  116. and simpler.
  117.  
  118.  
  119. Version 1   7-Oct-91
  120. --------------------
  121.  
  122. Initial public release.
  123.